Determining Sort Order by Distance

ABSTRACT

Included are embodiments for determining sort order. At least one embodiment of a method includes determining a plurality of search results associated with at least one search criteria. Some embodiments of a method include determining a first distance between at least one of the search results and a home page associated with the at least one search result and determining a display order for the plurality of search results.

CROSS REFERENCE

This application is related to U.S. patent application Ser. No. ______,entitled “Determining Sort Order by Traffic Volume” and U.S. patentapplication Ser. No. ______, entitled “Topic Map for NavigationControl,” which are filed on the same day as this application and whichare both incorporated by reference in their entireties.

TECHNICAL FIELD

Included are embodiments for determining sort order. More specifically,included are embodiments for determining sort order by distance.

BACKGROUND

As the number of web pages increases (either on the Internet as a whole,on an Intranet, and/or on a particular website), users may havedifficulty locating data that may reside on a web page. To combat thisproblem, websites have emerged that provide searching capabilities.These “search engines” may be configured to provide search options forlocating data on the Internet. To provide these search options, searchengines often utilize search algorithms for locating desired web pages.Once a collection of web pages is determined, many search enginesdetermine a display order for the search results.

Many search engines determine display order based on the number of linkson a web page and/or the number of times the search term occurs withinthe body of the web page. While these criteria can be beneficial, thesecriteria oftentimes do not provide a display order with the mostrelevant search results being most accessible to the user. As such, theuser may be forced to sort through numerous search results beforelocating a web page with the desired information. As such, the user maymiss the most relevant web page.

Thus, a heretofore unaddressed need exists in the industry to addressthe aforementioned deficiencies and inadequacies.

SUMMARY

Included are embodiments for determining sort order. At least oneembodiment of a method includes determining a plurality of searchresults associated with at least one search criteria. Some embodimentsof a method include determining a first distance between at least one ofthe search results and a home page associated with the at least onesearch result and determining a display order for the plurality ofsearch results.

Also included are embodiments of a system for determining sort order. Atleast one embodiment of a system includes a results determiningcomponent configured to determine at least one search result associatedwith at least one search criteria. Some embodiments include a distancedetermining component configured to determine a first distance betweenthe at least one of search result and a home page associated with the atleast one search result.

Also included are embodiments of a computer readable medium fordetermining sort order. At least one embodiment of a computer readablemedium includes results determining logic configured to determine aplurality of search results associated with at least one searchcriteria. Some embodiments include distance determining logic configuredto determine a first distance between at least one of the search resultsand a home page associated with the at least one search result and orderdetermining logic configured to determine a display order for theplurality of search results.

Other systems, methods, features, and advantages of this disclosure willbe or become apparent to one with skill in the art upon examination ofthe following drawings and detailed description. It is intended that allsuch additional systems, methods, features, and advantages be includedwithin this description and be within the scope of the presentdisclosure.

BRIEF DESCRIPTION

Many aspects of the disclosure can be better understood with referenceto the following drawings. The components in the drawings are notnecessarily to scale, emphasis instead being placed upon clearlyillustrating the principles of the present disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views. While several embodiments are described inconnection with these drawings, there is no intent to limit thedisclosure to the embodiment or embodiments disclosed herein. On thecontrary, the intent is to cover all alternatives, modifications, andequivalents.

FIG. 1 is a network diagram illustrating exemplary components that maybe implemented to provide a user with website data.

FIG. 2 is a block diagram illustrating exemplary components that may beassociated with a client device, such as the client device from FIG. 1.

FIG. 3 is a nonlimiting example of a user interface, illustratingsearching capabilities that may be provided by the search engine serverfrom FIG. 1.

FIG. 4 is an exemplary embodiment of a user interface with associatedsearch results from the search from FIG. 3.

FIG. 5 is a nonlimiting example of a plurality of user interfaces,illustrating an exemplary relationship among a plurality of web pages ona website, such as the web page from FIG. 4.

FIG. 6 is a nonlimiting example of a plurality of user interfaces,illustrating another exemplary relationship within a website, similar tothe website from FIG. 5.

FIG. 7 is an exemplary user interface, illustrating a sort order for thesearch results, such as the search results from FIG. 4.

FIG. 8 is an exemplary user interface illustrating a display order ofsearch results from FIG. 4, further illustrating a determined distancefrom the home page.

FIG. 9 is an exemplary embodiment of a user interface, illustrating aplurality of search results and including a link to a home pageassociated with the search results, similar to user interface from FIG.8.

FIG. 10 is an exemplary embodiment of a user interface, illustrating aweb page associated with a search result from FIG. 9.

FIG. 11 is an exemplary embodiment of a user interface illustrating ahome page related to a search result from FIG. 9.

FIG. 12 is a flowchart illustrating an exemplary process that may beused to determine a distance between a search result and a home page,such as the search results from FIG. 4.

FIG. 13A is a flowchart illustrating an exemplary process that may beutilized to determine a display order of search results, similar to theflowchart from FIG. 12.

FIG. 13B is a continuation of the flowchart from FIG. 13A.

FIG. 14 is a flowchart illustrating an exemplary process that may beutilized for redirecting a user to a web page, similar to the flowchartfrom FIGS. 13A and 13B.

FIG. 15 is a flowchart illustrating the exemplary process that may beutilized for redirecting a user to a home page associated with a searchresult, similar to the flowchart from FIG. 14.

DETAILED DESCRIPTION

FIG. 1 is a network diagram illustrating exemplary components that maybe implemented to provide a user with website data. More specifically,the configuration from FIG. 1 illustrates a client device 102 coupled toa network 100, such as the Internet. The network 100 may also be coupledto a search engine server 104, as well as a website server 106. Inoperation, the client device 102 can access the network 100, which canact as a portal for data provided by the search engine server 104. Thesearch engine server 104 can provide data related to a web page thatallows the user of the client device 102 to enter search criteriarelated to desired subject matter. The search engine server 104 can thensearch other web pages associated with the network 100, according to thereceived search criteria. Upon completing the search, the search engineserver 104 can provide data (which may take the form of source code)that includes an address associated with at least one of the web pagesrevealed in the search. Upon receiving the data, a web browser (and/orother logic) associated with the client device 102 can determine aformat for displaying the received information. The user can then selectat least one of the addresses. Upon receiving the user selection, thesearch engine server 104 can redirect the client device 102 to thewebsite server 106, associated with the selected address.

One should note that although a single server is illustrated forrepresenting the search engine server 104, one should note that one ormore servers, computers, etc. may be utilized to provide the desiredfunctionality. Similarly, while the components of FIG. 1 are illustratedas having a wired connection to the network 100, this is also anonlimiting example. In at least one embodiment one or more componentsmay be wirelessly coupled to the network 100.

FIG. 2 is a block diagram illustrating exemplary components that may beassociated with a website server, such as the website server 106 fromFIG. 1. Although a wire-line server is illustrated, this discussion canbe applied to wireless devices, as well. Generally, in terms of hardwarearchitecture, as shown in FIG. 2, the server 106 includes a processor282, volatile and nonvolatile memory 284, a display interface 294, datastorage 295, one or more input and/or output (I/O) device interface(s)296, and/or one or more network interfaces that are communicativelycoupled via a local interface 292. The local interface 292 can include,for example but not limited to, one or more buses and/or other wiredand/or wireless connections. The local interface 292 may have additionalelements, which are omitted for simplicity, such as controllers, buffers(caches), drivers, repeaters, and receivers to enable communications.Further, the local interface 292 may include address, control, and/ordata connections to enable appropriate communications among theaforementioned components. The processor 282 may be a device forexecuting software, particularly software stored in volatile andnonvolatile memory 284. The processor 282 can include any custom made orcommercially available processor, a central processing unit (CPU), anauxiliary processor among several processors associated with the server104, a semiconductor based microprocessor (in the form of a microchip orchip set), a macroprocessor, and/or generally any device for executingsoftware instructions.

The volatile and nonvolatile memory 284 can include any one orcombination of volatile memory elements (e.g., random access memory(RAM, such as DRAM, SRAM, SDRAM, etc.)) and/or nonvolatile memoryelements (e.g., ROM, hard drive, tape, CDROM, etc.). Moreover, thememory 284 may incorporate electronic, magnetic, optical, and/or othertypes of storage media. One should note that the volatile andnonvolatile memory 284 can have a distributed architecture (wherevarious components are situated remote from one another), but can beaccessed by the processor 282.

The software in volatile and nonvolatile memory 284 may include one ormore separate programs, each of which includes an ordered listing ofexecutable instructions for implementing logical functions. In theexample of FIG. 2, the software in the volatile and nonvolatile memory284 may include searching logic 288, sorting logic 290, as well as anoperating system 286. The operating system 286 essentially controls theexecution of other computer programs and provides scheduling,input-output control, file and data management, memory management, andcommunication control and related services.

A system component and/or module embodied as software may also beconstrued as a source program, executable program (object code), script,or any other entity comprising a set of instructions to be performed.When constructed as a source program, the program is translated via acompiler, assembler, interpreter, or the like, which may or may not beincluded within the volatile and nonvolatile memory 284, so as tooperate properly in connection with the operating system 286.

The Input/Output devices that may be coupled to system I/O Interface(s)296 may include input devices, for example but not limited to, akeyboard, mouse, scanner, microphone, etc. Further, the Input/Outputdevices may also include output devices, for example but not limited to,a printer, display, speaker, etc. Finally, the Input/Output devices mayfurther include devices that communicate both as inputs and outputs, forinstance but not limited to, a modulator/demodulator (modem; foraccessing another device, system, or network), a radio frequency (RF) orother transceiver, a telephonic interface, a bridge, a router, etc.

If the server 106 includes a personal computer, workstation, or thelike, the software in the volatile and nonvolatile memory 284 mayfurther include a basic input output system (BIOS) (omitted forsimplicity). The BIOS is a set of software routines that initialize andtest hardware at startup, start the operating system 286, and supportthe transfer of data among the hardware devices. The BIOS is stored inROM so that the BIOS can be executed when the server 104 is activated.

When server 106 is in operation, the processor 282 may be configured toexecute software stored within the volatile and nonvolatile memory 284,to communicate data to and from the volatile and nonvolatile memory 284,and to generally control operations of the server 106 pursuant to thesoftware. Software in memory, in whole or in part, may be read by theprocessor 282, perhaps buffered within the processor 282, and thenexecuted.

One should note that while the description with respect to FIG. 2includes a server 106 as a single component, this is a nonlimitingexample. More specifically, in at least one embodiment, the server 106can include a plurality of servers, personal computers, and/or otherdevices. Similarly, while the description of FIG. 2 describes a server106, this is also a nonlimiting example, as other components may also beincluded in this description, such as a search engine server 104, theclient device 102 and/or other components.

FIG. 3 is a nonlimiting example of a user interface 360, illustratingsearching capabilities that may be provided by the search engine server104 from FIG. 1. The user interface 360 includes searching options for auser to locate data on one or more web pages. The user interface 360includes a text prompt 362 and a search execution option 364 forinitiating a search. More specifically, a user may input the desiredsearch criteria in the text prompt 362 and select the search executionoption 364. In response to receiving this data, a web browser componentassociated with the client device 102 sends the search criteria to asearch engine server 104 (and/or website server 106, depending on theconfiguration). The server 104 and/or 106 can then compare the searchcriteria to data associated with one or more web pages on the Internetand/or Intranet.

In response to locating one or more web pages associated with the searchcriteria, the search engine server 104 can return more search results tothe web browser. The web browser can then provide a user interface thatincludes the retrieved search results. The user may select one of thesearch results to access the desired information. As indicated above,while this search engine server 104 may provide a plurality of datarelated to a search criteria, in many configurations, this data may beunorganized and difficult for a user to determine relevancy to thesearch criteria.

FIG. 4 is an exemplary embodiment of a user interface with associatedsearch results from the search from FIG. 3. As illustrated in thenonlimiting example of FIG. 4, a user has performed a search for theterms “DSL” and “Service.” The search engine server 104 and/or websiteserver 106 have searched the network 100 for the terms and metadatarelated to the search and have returned results 442, 444, and 446, whichare displayed in a Box 440. The box 440 includes search data related tothe results entitled “DSL” 442, “How DSL Works” 444, and “BellSouth DSL”446. Additionally associated with the search results 442 is adescription of the website and a URL associated with the search result.The description states “Everything you ever wanted to know about DSL”and the URL includes www.dslrocks.com/useraccounts/page4.htm. Similarly,the search result 444 includes a description “How DSL works in yourarea,” as well as a URL www.howdslworks/page7.htm. The search result 446includes a description “Get the best DSL service here” and a URLwww.thebestdslservicehere.com. While a search result may be found by anyof a plurality of algorithms, the display order of the search results isdiscussed with regard to FIG. 5.

FIG. 5 is a nonlimiting example of a plurality of user interfaces,illustrating an exemplary relationship among a plurality of web pages ona website, such as the web page from FIG. 4. As illustrated in thenonlimiting example of FIG. 5, a search result 442 may be associatedwith a website topology. More specifically, a website may include aplurality of web pages 540-562, with a home page 540. The home page 540may include three links to second tier web pages 542, 544, and 546, asindicated with the number 3. Similarly, the second tier web page 542 mayhave two links to third tier web pages 540 and 550. The second tier webpage 544 may include links to third tier web pages 552, 554, and 556.The web page 546 may include links to third tier web pages 556, 558, and560. The third tier web page 548 links to two web pages, morespecifically the third tier web pages 550 and a fourth tier web page562, as indicated with the “2” in web page 548. The web page 550includes a link to a third tier web page 552. The third tier web page552 links to a third tier web page 554. The third tier web page 556 alink to a third tier web page 558.

Upon receiving search results as illustrated in FIG. 4, the searchengine server 104 may determine a sort order based (at least in part) onthe number of links from a web page. More specifically, a search resultthat includes links to a large number of other web pages may be givenmore weight than a search result that links to fewer web pages. As anonlimiting example, with respect to FIG. 5, if search results include aweb page 544 and web page 554, with all other criteria being equal, theweb page 544 might be listed as being more relevant due to the fact thatthe web page 544 links to three web pages, whereas web page 554 links tozero web pages.

FIG. 6 is a nonlimiting example of a plurality of user interfaces,illustrating another exemplary relationship upon a plurality of webpages within a website, similar to website from FIG. 5. As illustratedin the nonlimiting example of FIG. 6, a search result may be associatedwith a website that includes a plurality of web pages. Morespecifically, a website may include a home page 640 that links to threeother web pages, as indicated by the number “3” in the web page 640. Thehome page 640 links to the second tier web pages 642, 644, and 646. Thesecond tier web page 642 links to third tier web pages 648, and 650. Thesecond tier web page 644 links to a third tier web page 654, a thirdtier web page 656, and a third tier web page 658. The second tier webpage 646 links to third tier web pages 658, 660, and 662. The third tierweb page 652 links to a second tier web page 642 and 644, as well asthird tier web pages 650 and 654. Third tier web page 654 links to athird tier web page 656. The third tier web page 658 links to a thirdtier web page 660.

As discussed with respect to FIG. 5, display order for search criteriamay be determined based on the number of links from a web page. However,some embodiments may be configured to determine search display orderbased on a distance from the home page associated with the searchresult. More specifically, with respect to FIG. 6, if the web page 652was determined to be a search result of a search conducted in FIG. 4,the search engine server 104 might determine that the web page 652 is adistance of two steps from the home page 640. More specifically, being athird tier web page, the web page 652 is two steps away from the homepage 640. Comparing this with a previous example from FIG. 5, if the webpage 542 is also a search result with the web page 652, depending on thesort order criteria, a different search display order may be provided.

More specifically, if a display order is determined based on the numberof links from a web page, the web page 542 might receive less weightthan the web page 652. Since the web page 652 includes four links toother web pages, the web page 652 may receive a value of 4. The web page542, on the other hand, includes only two links to other web pages, andthus may receive a value of 2. However, if display order is determinedbased on relative distance to a home page, the web page 542 may receivea value greater than the web page 652. As the web page 542 is a secondtier web page (e.g., the web page 542 is one step from the home page540), and the web page 652 is a third tier web page (e.g., the web page652 requires two steps to reach the web page 640), the web page 542 maybe given greater weight than the web page 652 in determining displayorder.

FIG. 7 is an exemplary user interface, illustrating a sort order for thesearch results, such as the search results 442, 444, 446, from FIG. 4.As illustrated in the nonlimiting example of FIG. 7, the user interface760 includes a text prompt 762 and a search execution option 764. Alsoincluded in the user interface 760 are search results 740, 742, and 744.The search results 740-744 may be those search results from FIG. 4displayed in a display order pursuant to a determination based onrelevance. As discussed with respect to FIGS. 5 and 6, display ordisplay order may be determined based on any number of factors includingbut not limited to number of links from a web page and/or distance froma home page.

More specifically, in determining display order, the search engineserver 104 and/or website server 106 can compare at least a portion ofthe data illustrated in Table 1.

TABLE 1 data for determining sort order Search Terms: “DSL” or “Service”“DSL” “How DSL Works” “BellSouth DSL” Total Word 7 4 8 Match Word Match1 0 0 Description Word Match 4 3 4 Body Word Mach 2 1 4 Keyword Avg.Distance 3 1.4 1.0 between Words Links to Page 4 4 1 Distance from 7 5 2Home Page

As illustrated in Table 1, sort order may be determined, based any of aplurality of data including total word match. More specifically, the webpage “DSL” includes seven total occurrences of the terms “DSL” or“Service.” The “How DSL Works” web page includes four total occurrencesof the terms “DSL” or “Service.” The “BellSouth DSL” web page includeseight total occurrences of the terms “DSL” or “Service.” As such,depending on the particular configuration of the sorting logic,“BellSouth DSL” may be sorted as being most relevant, followed by “DSL,”and followed by “How DSL Works.”

Other criteria in Table 1 that may determine (or help determine) sortorder includes the number of times one or more of the search terms occurin the description associated with the web page (see FIG. 4). Othercriteria may include the number of times one or more of the search termsoccur in the body of the web page, and/or the number of times one ormore of the search terms occur in the keywords section (see FIG. 4).Still other criteria includes the average distance between the searchterms in the web page, the number of links from the web page, and adistance the web page resides from a home page. According to exemplaryembodiments, criteria used to determine sort order may further includeany combination of data as suggested in Table 1.

FIG. 8 is an exemplary user interface illustrating a display order ofsearch results from FIG. 4, further illustrating a determined distancefrom the home page. More specifically, the user interface 860 includes atext prompt 862 and a search execution option 864. Also included in theuser interface 860, are search results 840, 842, 844. The search results840, 842, and 844 also include a designation of their relative distancefrom their respective home pages. As illustrated, the search result 840,entitled “BellSouth DSL” is the home page associated with that website.As such, if sort order is determined based on relative distance to ahome page, the search result 840 would be likely given the highest ratevalue for that category. Similarly, the search result 842, entitled“DSL,” is two steps away from its respective home page. The searchresult 844, entitled “How DSL Works,” is three steps away from itsrespective home page, and thus would be given the least amount of weightfor that category as compared to the search results 840 and 842.

FIG. 9 is an exemplary embodiment of a user interface, illustrating aplurality of search results and including a link to a home pageassociated with the search results, similar to user interface from FIG.8. As illustrated in the nonlimiting example of FIG. 9, a user interface960 includes a text prompt 962 and a search execution option 964. Alsoincluded in the user interface 960, are search results 940, 942, and944. More specifically, as discussed above, the search engine server 104may be configured to search the Internet, an Intranet, and/or a websitefor the search terms indicated in the text prompt 962. Upon retrievingthe search results, the search engine server 104 may then determine adisplay order for the search results. Additionally, as illustrated inthe user interface 960, the relative distance with respect to a homepage is also provided. More specifically, the search result 940 entitled“BellSouth DSL” is the home page. Similarly, the search result 942,entitled “DSL,” is two steps away from the home page www.dslrocks.com.The search result 944, entitled “How DSL Works,” is three steps awayfrom the home page www.howdslworks.com. While FIG. 8 illustrates therelative distance from the home page, FIG. 9 provides a link for theuser to access either (or both) the search result or the home pageassociated with the search result.

FIG. 10 is an exemplary embodiment of a user interface, illustrating aweb page associated with a search result from FIG. 9. As illustrated inthe nonlimiting example of FIG. 10, a user interface 1060 includes adisplay for a web page entitled “Everything you ever wanted to knowabout DSL.” More specifically, the web page illustrated in the userinterface 1060 may be accessible via user interface 960, from FIG. 9, byselecting the search result 942, entitled “DSL,” with description“Everything you ever wanted to know about DSL. Also illustrated in theuser interface 1060 is an option 1042 to provide automatic access to theweb page www.dslrocks.com. More specifically, by selecting the searchresult 942 from FIG. 9, the search engine server 104 can automaticallyprovide a link to a home page associated with that search result. Thelink to the home page may not automatically be provided by the searchresult selected, thus the user may have greater access to the home pageby selecting the search result 942.

One should note that while the nonlimiting example of FIG. 10illustrates a link being included in the original web page interface1060. Some embodiments may provide a new frame and/or a new window forproviding this link to a user.

FIG. 11 is an exemplary embodiment of a user interface illustrating ahome page related to a search result from FIG. 9. As illustrated in thenonlimiting example of FIG. 11, a user interface 1160 includes a displayfor the home page DSL Rocks. More specifically, the web page displayedin the user interface 1160 may be accessed via selection of the option1042 from FIG. 10 and/or via selection of the home page optionassociated with the search result 942 from FIG. 9. The home pageillustrated in the user interface 1160 includes an option 1140 providedby the website to access the web page from FIG. 10, as well as an option1142 to purchase DSL service. Additionally, the search engine server 104can include an option 1144 (in the current user interface 1160, in aseparate frame, and/or in a separate window), not otherwise provided bythe web page www.dslrocks.com, to access the search result 942illustrated in FIG. 9.

FIG. 12 is a flowchart illustrating an exemplary process that may beused to determine a distance between a search result and a home page,such as the search results from FIG. 4. As illustrated in thenonlimiting example of FIG. 12, the search engine server 104 and/orwebsite server 106 receives data related to a home page, searches thehome page for content, and determines the distance of the home page tobe equal to zero (block 1232). The search engine server 104 searches thenext page in the website for content (block 1234). The search engineserver 104 then determines the shortest distance of the web page fromthe home page (block 1236). The search engine server 104 can thendetermine whether all the pages on the website have been searched (block1238). If all the pages have not been searched, the search engine server104 can search the next page on the website for content, as illustratedin block 1234. The process can continue until all pages have beensearched.

While in one embodiment, the search engine server 104 can perform theprocess of FIG. 12 in response to a user executing a search, asillustrated in FIG. 3, other embodiments may provide that the searchengine server 104 performs at least a portion of the process illustratedin FIG. 12 prior to a search being completed. More specifically, thesearch engine server 104 (and/or website server 106) may determine themost likely search terms and/or web pages to provide quicker servicewhen a user executes a search for those search terms.

Additionally, while the process of FIG. 12 illustrates that the searchengine server 104 first arrives at the home page of a website, this isalso a nonlimiting example. More specifically, in at least oneembodiment, the search engine server 104 can arrive at any web pageassociated with the website. The search engine server 104 can thendetermine relative distance of the web page from a homepage of thewebsite, which can then be amended if a new web page is determined to becloser to the home page.

FIG. 13A is a flowchart illustrating an exemplary process that may beutilized to determine a display order of search results, similar to theflowchart from FIG. 12. As illustrated in the nonlimiting example ofFIG. 13A, the search engine server 104 and/or website server 106 canreceive search criteria from a user (block 1332). The search engineserver 104 can then crawl the Internet to find a result (block 1334).While FIG. 13A indicates that search engine server can crawl theInternet to find the result, one should also note that the search engineserver 104 can be associated with an Intranet, and that the search canbe restricted to web pages on the Intranet.

The search engine server 104 can then locate at least one web page thatpotentially includes data relevant to the search criteria (block 1336).The search engine server 104 then determines web page content to comparewith the search criteria (block 1338). If the web page content relatesto the search criteria, the information related to the web page can bestored for subsequent delivery to the user.

The search engine server 104 can then determine a distance from a homepage associated with the web page found (block 1340). While at least oneembodiment may be configured such that the search engine server 104determines the shortest distance between the determined web page and thehome page, this is a nonlimiting example. More specifically, dependingon the particular embodiment, the search engine server 104 can determinethe shortest distance, the longest distance, an average distance, orother distance.

Next, the search engine server 104 can determine whether all searchresults are found (block 1340). If all the search results are not found,the flowchart can return to block 1336 to locate at least one web pagethat potentially includes data relevant to the search criteria. If, onthe other hand, all search results are found, the flowchart proceeds tojump block 1342.

FIG. 13B is a continuation of the flowchart from FIG. 13A. From jumpblock 1344, the search engine server 104 proceeds to compile at least aportion of the search results (block 1346). The search engine server 104then weighs one or more factors, including a distance from the homepage, to determine a display order of the search results (block 1348).The search engine server 104 then determines a display order for thesearch results (block 1350).

One should note that while the discussion related to FIGS. 13A and 13Bdescribe an embodiment where the search engine server 104 crawls theInternet (or Intranet) after search criteria is received, this is anonlimiting example. More specially, in at least one exemplaryembodiment, the search engine server 104 (and/or website server 106) maybe configured to “crawl” the Internet prior to receiving searchcriteria. Such a configuration could enhance the speed for providingsearch results to a user.

FIG. 14 is a flowchart illustrating an exemplary process that may beutilized for redirecting a user to a web page, similar to the flowchartfrom FIGS. 13A and 13B. As illustrated in the nonlimiting example ofFIG. 14, the search engine server 104 and/or website server 106 mayprovide search results in a determined order (block 1432). The searchengine server 104 may then receive user input selecting at least oneresult (block 1434). The search engine server 104 can then redirect theuser to the search result web page with an option to directly access thehome page, associated with the search result web page (block 1436).

FIG. 15 is a flowchart illustrating the exemplary process that may beutilized for redirecting a user to a home page associated with a searchresult, similar to the flowchart from FIG. 14. As illustrated in thenonlimiting example of FIG. 15, the search engine server 104 and/orwebsite server 106 may provide search results in a determined order(block 1532). The search engine server 104 may then receive user inputselecting at least one result (block 1534). The search engine server 104can then redirect a user to a home page associated with the selectedsearch result with an option to directly access the selected home page(block 1536).

The embodiments disclosed herein can be implemented in hardware,software, firmware, or a combination thereof. At least one embodiment,disclosed herein is implemented in software and/or firmware that isstored in a memory and that is executed by a suitable instructionexecution system. If implemented in hardware, as in an alternativeembodiment embodiments disclosed herein can be implemented with any or acombination of the following technologies: a discrete logic circuit(s)having logic gates for implementing logic functions upon data signals,an application specific integrated circuit (ASIC) having appropriatecombinational logic gates, a programmable gate array(s) (PGA), a fieldprogrammable gate array (FPGA), etc.

One should note that the flowcharts included herein show thearchitecture, functionality, and operation of a possible implementationof software. In this regard, each block can be interpreted to representa module, segment, or portion of code, which comprises one or moreexecutable instructions for implementing the specified logicalfunction(s). It should also be noted that in some alternativeimplementations, the functions noted in the blocks may occur out of theorder and/or not at all. For example, two blocks shown in succession mayin fact be executed substantially concurrently or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved.

One should note that any of the programs listed herein, which caninclude an ordered listing of executable instructions for implementinglogical functions, can be embodied in any computer-readable medium foruse by or in connection with an instruction execution system, apparatus,or device, such as a computer-based system, processor-containing system,or other system that can fetch the instructions from the instructionexecution system, apparatus, or device and execute the instructions. Inthe context of this document, a “computer-readable medium” can be anymeans that can contain, store, communicate, or transport the program foruse by or in connection with the instruction execution system,apparatus, or device. The computer readable medium can be, for examplebut not limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, or device. More specificexamples (a nonexhaustive list) of the computer-readable medium couldinclude an electrical connection (electronic) having one or more wires,a portable computer diskette (magnetic), a random access memory (RAM)(electronic), a read-only memory (ROM) (electronic), an erasableprogrammable read-only memory (EPROM or Flash memory) (electronic), anoptical fiber (optical), and a portable compact disc read-only memory(CDROM) (optical). In addition, the scope of the certain embodiments ofthis disclosure can include embodying the functionality described inlogic embodied in hardware or software-configured mediums.

One should also note that conditional language, such as, among others,“can,” “could,” “might,” or “may,” unless specifically stated otherwise,or otherwise understood within the context as used, is generallyintended to convey that certain embodiments include, while otherembodiments do not include, certain features, elements and/or steps.Thus, such conditional language is not generally intended to imply thatfeatures, elements and/or steps are in any way required for one or moreparticular embodiments or that one or more particular embodimentsnecessarily include logic for deciding, with or without user input orprompting, whether these features, elements and/or steps are included orare to be performed in any particular embodiment.

It should be emphasized that the above-described embodiments are merelypossible examples of implementations, merely set forth for a clearunderstanding of the principles of this disclosure. Many variations andmodifications may be made to the above-described embodiment(s) withoutdeparting substantially from the spirit and principles of thedisclosure. All such modifications and variations are intended to beincluded herein within the scope of this disclosure.

1. A method for determining sort order, comprising: determining aplurality of search results associated with at least one searchcriteria; determining a first distance between at least one of thesearch results and a home page associated with the at least one searchresult; and determining a display order for the plurality of searchresults.
 2. The method of claim 1, wherein determining a display orderincludes comparing the first distance and a second distance between atleast one other search result and a home page associated with the atleast one other search result.
 3. The method of claim 1, furthercomprising providing a search results page, the search results pageconfigured for providing the search results in the determined displayorder.
 4. The method of claim 1, further comprising providing an optionto view at least one of the search results.
 5. The method of claim 4,further comprising, in response to a user selection to view at least oneof the search results: providing a display that includes at least one ofthe search results; and providing an option to view a home page from theprovided at least one of the search results.
 6. The method of claim 1,further comprising providing an option to view the home page associatedwith the at least one search result.
 7. The method of claim 6, furthercomprising, in response to a user selection of the option to view thehome page associated with the at least one search result: providing thehome page associated with the at least one search result; and providingan option to view the at least one search result from the home pageassociated with the at least one search result.
 8. A server fordetermining sort order, the server configured to: determine at least onesearch result associated with at least one search criteria; anddetermine a first distance between the at least one of search result anda home page associated with the at least one search result.
 9. Theserver of claim 8, wherein the server is further configured to determinea display order for the at least one search result.
 10. The server ofclaim 9, wherein the server is further configured to provide a searchresults page, the search results page configured to provide the at leastone search result in the determined display order.
 11. The server ofclaim 8, wherein the server is further configured to provide an optionto view at least one of the search results.
 12. The server of claim 11,wherein the server is further configured to: in response to a userselection to view at least one of the search results, provide a displayof the at least one search result; and provide an option to view a homepage from the provided search result.
 13. The server of claim 8, whereinthe server is further configured to provide an option to view the homepage associated with the at least one search result.
 14. The server ofclaim 13, wherein the server is further configured to: in response to auser selection of the option to view the home page associated with theat least one search result, provide the home page associated with the atleast one search result; and provide an option to view the at least onesearch result from the home page associated with the at least one searchresult.
 15. A computer readable medium for determining sort order,comprising: results determining logic configured to determine aplurality of search results associated with at least one searchcriteria; distance determining logic configured to determine a firstdistance between at least one of the search results and a home pageassociated with the at least one search result; and order determininglogic configured to determine a display order for the plurality ofsearch results.
 16. The computer readable medium of claim 15, whereinthe order determining logic is further configured to compare the firstdistance and a second distance between at least one other search resultand a home page associated with the at least one other search result.17. The computer readable medium of claim 15, further comprising firstresults providing logic configured to provide a search results page, thesearch results page configured for providing the search results in thedetermined display order.
 18. The computer readable medium of claim 15,further comprising second results providing logic configured to providean option to view at least one of the search results.
 19. The computerreadable medium of claim 18, further comprising: display providing logicconfigured to provide a display of at least one search result, inresponse to a user selection to view at least one of the search results;and first home page providing logic configured to provide an option toview a home page from the provided search result.
 20. The computerreadable medium of claim 15, further comprising second home pageproviding logic configured to provide an option to view the home pageassociated with the at least one search result.